Skip to content

feat: add refresh-on-open setting#1733

Merged
steipete merged 4 commits into
steipete:mainfrom
dstier-git:refresh-on-open
Jul 1, 2026
Merged

feat: add refresh-on-open setting#1733
steipete merged 4 commits into
steipete:mainfrom
dstier-git:refresh-on-open

Conversation

@dstier-git

@dstier-git dstier-git commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Fixes #1732

Summary

  • Add a General preference to refresh enabled providers whenever the menu opens.
  • Keep the option off by default; disabled behavior remains the existing visible-provider stale/missing refresh policy.
  • Model the open-time decision as a pure refresh plan: opt-in refreshes enabled providers concurrently, while the default path preserves sequential visible-provider behavior and skips duplicate in-flight work.
  • When refresh-all includes Codex from another provider's menu, defer its OpenAI dashboard refresh until menu tracking closes.
  • Keep the periodic refresh clock unchanged.
  • Localize the setting and thank @dstier-git in the changelog.

Maintainer decision

Recommendation: merge. This is a bounded, reversible opt-in. The tradeoff is extra provider traffic each time the menu opens, made explicit in the setting copy; no background cadence or default behavior changes.

Proof

  • make check
  • swift test --filter MenuOpenRefreshPlanTests
  • exact non-Codex parent regression: refresh-all also defers the Codex dashboard refresh
  • swift test --filter StatusMenuTests
  • swift test --filter SettingsStoreTests
  • make test (44/44 shards passed)
  • branch-scoped autoreview (clean)
  • exact-head ad-hoc package at 1f3bb5804812be23de990f1d1929919bf7aee23b
  • exact-head live Peekaboo verification: default-off copy and unchanged 5-minute cadence
  • prior live verification also covered accessibility-targeted toggle and persisted enabled state after Settings close/reopen
  • prior Tart VM proof remains supporting evidence

Existing contributor media

Setting toggle:

Refresh on menu open setting

Menu-open refresh demonstration:

CodexBar refresh on menu open

@clawsweeper

clawsweeper Bot commented Jun 24, 2026

Copy link
Copy Markdown

Codex review: needs maintainer review before merge. Reviewed July 1, 2026, 7:24 AM ET / 11:24 UTC.

Summary
The PR adds a default-off setting to refresh enabled providers when the CodexBar menu opens, with settings persistence, menu scheduling, localization, changelog text, and focused tests.

Reproducibility: not applicable. this is a feature/configuration PR rather than a bug report. Source inspection shows current main lacks the setting, and the PR adds focused tests for the new behavior.

Review metrics: 3 noteworthy metrics.

  • Changed files: 31 files affected. Most breadth is localization fan-out, but runtime behavior touches persisted settings and menu refresh scheduling.
  • Localization fan-out: 21 Localizable.strings files changed. The new setting copy ships as user-visible product surface across all current localizations.
  • Current-main merge check: clean merge tree, diff check clean. The branch applies over current main without conflict, so stale-base drift is not the blocker.

Root-cause cluster
Relationship: fixed_by_candidate
Canonical: #1732
Summary: This PR is the implementation candidate for the linked refresh-on-open feature request; the predictive refresh docs PR is adjacent but intentionally separate.

Members:

Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything.

Merge readiness
Overall: 🐚 platinum hermit
Proof: 🦞 diamond lobster ✨ media proof bonus
Patch quality: 🐚 platinum hermit
Result: ready for maintainer review.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Rank-up moves:

  • [P2] Get explicit maintainer acceptance of the opt-in provider-call tradeoff before merge.

Risk before merge

  • [P1] Users who enable the setting intentionally add provider refresh work each time the menu stays open past the delay; maintainers need to accept the traffic, responsiveness, and prompt-safety tradeoff.

Maintainer options:

  1. Accept the opt-in refresh tradeoff
    Merge as-is if maintainers are comfortable with users explicitly opting into provider calls on every menu open after the delay.
  2. Hold for refresh-policy direction
    Keep the PR open or pause it if the broader refresh policy should be decided before adding another menu-open refresh mode.

Next step before merge

  • No automated repair is needed; maintainers should make the final product and merge decision on the opt-in provider-call behavior.

Security
Cleared: The diff changes app settings, menu scheduling, localized strings, tests, and changelog text without adding dependencies, scripts, CI changes, secrets handling, or downloaded code.

Review details

Best possible solution:

Merge the repaired opt-in setting only if maintainers accept the explicit provider-call tradeoff; otherwise keep the current stale/missing visible-provider refresh behavior.

Do we have a high-confidence way to reproduce the issue?

Not applicable: this is a feature/configuration PR rather than a bug report. Source inspection shows current main lacks the setting, and the PR adds focused tests for the new behavior.

Is this the best way to solve the issue?

Yes, if maintainers accept the product direction. The implementation is default-off, persists through SettingsStore, preserves the existing default stale/missing refresh path, and now covers the Codex dashboard deferral edge.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against 129f6962e6c3.

Label changes

Label changes:

  • add rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster and patch quality is 🐚 platinum hermit.
  • add status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (recording): The PR body includes exact-head live verification plus inspected screenshot/GIF media showing the setting and menu-open refresh behavior.
  • remove status: ⏳ waiting on author: Current PR status label is status: 👀 ready for maintainer look.
  • remove rating: 🦐 gold shrimp: Current PR rating is rating: 🐚 platinum hermit, so this older rating label is no longer current.

Label justifications:

  • P3: This is a low-urgency opt-in settings and UX feature rather than an urgent regression or broken core workflow.
  • merge-risk: 🚨 other: The new setting can increase provider traffic and menu-open refresh work, which is a product tradeoff that green tests cannot settle.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (recording): The PR body includes exact-head live verification plus inspected screenshot/GIF media showing the setting and menu-open refresh behavior.
  • proof: sufficient: Contributor real behavior proof is sufficient. The PR body includes exact-head live verification plus inspected screenshot/GIF media showing the setting and menu-open refresh behavior.
  • proof: 🎥 video: Contributor real behavior proof includes video or recording evidence. The PR body includes exact-head live verification plus inspected screenshot/GIF media showing the setting and menu-open refresh behavior.
Evidence reviewed

What I checked:

Likely related people:

  • steipete: History shows Peter authored the earlier auto-refresh-on-open work, later deferred refresh coalescing, current menu/settings implementation, and the latest PR repair commit. (role: original and recent refresh-area contributor; confidence: high; commits: 26fb95b3fcb3, 8adc2c798354, f380287041b8; files: Sources/CodexBar/StatusItemController+Menu.swift, Sources/CodexBar/StatusItemController+MenuInteractionRefresh.swift, Sources/CodexBar/PreferencesGeneralPane.swift)
  • hhh2210: History shows Larry authored the merged redundant menu-open refresh avoidance work that shaped the current stale/missing retry behavior. (role: menu-open retry behavior contributor; confidence: high; commits: 0be735b25a97; files: Sources/CodexBar/StatusItemController+Menu.swift)
  • joshuavial: History shows Joshua authored the menu-open refresh delay work and broad instant-open test coverage adjacent to this scheduling path. (role: menu-open scheduling and test contributor; confidence: high; commits: 3c2d53de57c1; files: Sources/CodexBar/StatusItemController+Menu.swift, Sources/CodexBar/StatusItemController+MenuInteractionRefresh.swift, Tests/CodexBarTests/StatusMenuInstantOpenTests.swift)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

How this review workflow works
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. proof: sufficient Contributor real behavior proof is sufficient. proof: 🎥 video Contributor real behavior proof includes video or recording evidence. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. merge-risk: 🚨 other 🚨 Merging this PR has meaningful risk outside the owned taxonomy. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels Jun 24, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 513841fdb1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread Sources/CodexBar/StatusItemController+Menu.swift
@clawsweeper clawsweeper Bot added rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. and removed rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Jul 1, 2026
@clawsweeper clawsweeper Bot added rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. labels Jul 1, 2026
@steipete steipete merged commit c346340 into steipete:main Jul 1, 2026
17 of 19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-risk: 🚨 other 🚨 Merging this PR has meaningful risk outside the owned taxonomy. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. proof: sufficient Contributor real behavior proof is sufficient. proof: 🎥 video Contributor real behavior proof includes video or recording evidence. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature request: refresh on-open from menu

2 participants